<!DOCTYPE html>
<html lang="en">
<head>
    <title>囧么肥事</title>
    <meta charset="UTF-8"/>
    <meta name="viewport"
          content="width=device-width,height=device-height,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta http-equiv="Content-Type" content="text/html;"/>
    <meta name="renderer" content="webkit">
    <!--解决页面加载网络图片的403问题 , 可以让img标签预加载网络图片-->
    <meta name="referrer" content="no-referrer" />

    <!--markdown S -->
    <link rel="stylesheet" type="text/css" href="../../static/css/export_setting_css.css"/>
    <link rel="stylesheet" type="text/css" href="../../static/css/markdown_preview_css.css"/>
    <!--markdown E -->

    <!--left bar tools css E-->
    <link rel="stylesheet" type="text/css" href="../../static/css/nav.css">
    <link rel="stylesheet" type="text/css" href="http://www.jq22.com/jquery/font-awesome.4.6.0.css">
    <!--left bar tools css E-->

    <!-- 滚动条 S -->
    <link rel="stylesheet" href="../../static/css/optiscroll.css">
    <!-- 滚动条 E -->
</head>
<body>
<div id="m-wrapper" class="m-wrapper optiscroll">
    <!-- top 锚点 -->
    <a id="top"></a>

    <!-- left bar tools S -->
    <div class="leftNav-item">
        <ul>
            <li>
                <i class="fa fa-location-arrow"></i>
                <a href="http://jiongmefeishi.gitee.io/monster-blog/" target="_blank" class="rota">个人网站</a>
            </li>

            <li title="Git">
                <i class="fa fa-code-fork" aria-hidden="true"></i>
                <a href="http://jiongmefeishi.gitee.io/monster-blog/" target="_blank" class="rota">Git Page</a>
            </li>

            <li lay-data="img" data-fooc="http://resource.zqtaotao.cn/wx/qrcode/jiongmefeishi.jpg">
                <i class="fa fa-comments-o"></i><a href="javascript:;" class="rota">公众号</a>
            </li>

            <li lay-data="img" data-fooc="http://resource.zqtaotao.cn/weixincode.png">
                <i class="fa fa-money"></i><a href="javascript:;" class="rota">小额打赏</a>
            </li>
            <li title="返回顶部" class="for-top">
                <i class="fa fa-arrow-up"></i>
                <a href="#top" class="rota">去顶部</a>
            </li>
        </ul>
    </div>
    <!-- left bar tools E -->

    <!--content S-->
    <div id="export_content"><div class="output_wrapper" id="output_wrapper_id"><h3 id="hk8s"><span>云原生新时代弄潮儿k8s凭什么在容器化方面独树一帜？</span></h3>
        <figure><img src="https://img-blog.csdnimg.cn/img_convert/921d0c2a190df727c043718f4f9dd700.png" alt="img" title="img"></figure>
        <figure><img src="" alt="" title=""><figcaption></figcaption></figure>
        <figure><img src="https://img-blog.csdnimg.cn/img_convert/89461c3e35d5e3a617e727b51519a65d.png" alt="img" title="img"></figure>
        <figure><img src="" alt="" title=""><figcaption></figcaption></figure>
        <h3 id="hkubernetes"><span>Kubernetes 可以为做些什么?</span></h3>
        <p>在学习一种新技能之前，囧囧建议不要上去先看各种牛叉的实现，我们需要先搞清楚这个技能是什么？学习了之后能为我们提升什么有用的价值。毕竟在当今技术快速更新迭代的时代，我们没有足够的精力去学习太多没有用的知识去扩展的无用的广度，只有你明白了你需要学习的东西的价值，你才有动力去持续跟进，去剖析，去理解，去爱上它，用它创造价值。</p>
        <figure><img src="https://img-blog.csdnimg.cn/img_convert/fb2bf843c5bbff47ed9fc8cbc4235a4d.gif" alt="img" title="img"></figure>
        <figure><img src="" alt="" title=""><figcaption></figcaption></figure>
        <h3 id="hkubernetes-1"><span>Kubernetes 是什么?</span></h3>
        <p><strong>Kubernetes</strong> 这个名字源于希腊语，意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系🧐🧐🧐。</p>
        <p><strong>官方解读</strong></p>
        <pre><code class="hljs nginx"><span class="hljs-attribute">Kubernetes</span>&nbsp;是一个可移植的，可扩展的开源平台。<br>用于管理容器化的工作负载和服务，方便了声明式配置和自动化。<br>它拥有一个庞大且快速增长的生态系统。Kubernetes&nbsp;的服务，支持和工具广泛可用。<br></code></pre>
        <figure><img src="" alt="" title=""><figcaption></figcaption></figure>
        <h3 id="h"><span>部署演进</span></h3>
        <figure><img src="https://img-blog.csdnimg.cn/img_convert/59ccd69e9cca2d9266cad4feb3f5ed4b.png" alt="img" title="img"></figure>
        <figure><img src="" alt="" title=""><figcaption></figcaption></figure>
        <p><strong>传统部署</strong></p>
        <pre><code class="hljs">各个组织机构在物理服务器上运行应用程序。无法为物理服务器中的应用程序定义资源边界，更多的选择是凭借工程师的个人经验去分配资源，也就是无法合理的去规划资源分配，这会导致资源分配问题。<br></code></pre>
        <p><strong>虚拟化部署</strong></p>
        <pre><code class="hljs">虚拟化技术允许你在单个物理服务器的&nbsp;CPU&nbsp;上运行多个虚拟机（VM）。允许应用程序在&nbsp;VM&nbsp;之间隔离，虚拟化技术能够更好地利用物理服务器上的资源，<br><br>相比于传统部署方式，优点是更好的可伸缩性，降低硬件成本。<br></code></pre>
        <p><strong>容器部署</strong></p>
        <pre><code class="hljs">以应用程序为中心的管理<br>资源隔离的粒度更细腻，比VM要更简约，更容易扩展移植，<br>容器类似于&nbsp;VM，但是它们具有被放宽的隔离属性，可以在应用程序之间共享操作系统（OS）。<br></code></pre>
        <h3 id="hkubernetes-2"><span>为什么需要 Kubernetes，它能做什么?</span></h3>
        <figure><img src="https://img-blog.csdnimg.cn/img_convert/06cac53d252568babcfd49d0822fe7b7.gif" alt="img" title="img"></figure>
        <figure><img src="" alt="" title=""><figcaption></figcaption></figure>
        <p><strong>应用容器化</strong></p>
        <pre><code class="hljs">容器是打包和运行应用程序的好方式。<br><br>容器化已经做到应用程序能以简单快速的方式发布和更新。<br></code></pre>
        <figure><img src="" alt="" title=""><figcaption></figcaption></figure>
        <p>线上环境我们应用程序需要持续稳定的运行，不能早上部署好了，下午用户无法使用。</p>
        <p>出现故障问题的时候，需要有快速响应的机制去确保不会造成重大影响。</p>
        <p>程序是无错的情况下，对应到容器层面，就是我们需要保证容器是正确的，不能因为容器的意外而影响到前线😇。</p>
        <p>这意味着我们需要管理运行应用程序的容器，时刻监督着运行情况，并确保容器不会停机。</p>
        <p>如果一个容器发生故障，需要快速采取措施，例如重启容器，或者另外启动一个容器去替代它。</p>
        <figure><img src="https://img-blog.csdnimg.cn/img_convert/003deedcc868d7cd213f54539b71ba50.png" alt="img" title="img"></figure>
        <figure><img src="" alt="" title=""><figcaption></figcaption></figure>
        <p>半夜凌晨两点钟，你在家里呼呼大睡，线上疯狂报警，你不得不赶紧起床解决😭😭😭</p>
        <figure><img src="https://img-blog.csdnimg.cn/img_convert/7bbddd37f5f9a1c80bb3de83f55175f8.png" alt="img" title="img"></figure>
        <figure><img src="" alt="" title=""><figcaption></figcaption></figure>
        <p>咦，想想都惨呀😭😭😭！</p>
        <p>如果交给系统去处理容器问题，会不会更容易？更方便？不再需要你精神高度集中每天注意可能发生的各种意外情况😳？</p>
        <p><strong>所以，k8s来了，它来了，它来了，它带着旋风跑来了！</strong>🧐🧐🧐</p>
        <p>Kubernetes 提供了一个可弹性运行分布式系统的框架。</p>
        <figure><img src="https://img-blog.csdnimg.cn/img_convert/1f7b9275049ac88eba8382c69d243e4f.png" alt="img" title="img"></figure>
        <figure><img src="" alt="" title=""><figcaption></figcaption></figure>
        <ul>
            <li><p><strong>服务发现和负载均衡</strong></p>
                <p>Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器，如果进入容器的流量很大， Kubernetes 可以负载均衡并分配网络流量，从而使部署稳定。</p></li>
            <li><p><strong>存储编排</strong></p>
                <p>Kubernetes 允许你自动挂载你选择的存储系统，例如本地存储、公共云提供商等。</p></li>
            <li><p><strong>自动部署和回滚</strong></p>
                <p>你可以使用 Kubernetes 描述已部署容器的所需状态，它可以以受控的速率将实际状态 更改为期望状态。例如，你可以自动化 Kubernetes 来为你的部署创建新容器， 删除现有容器并将它们的所有资源用于新容器。</p></li>
            <li><p><strong>自动完成装箱计算</strong></p>
                <p>Kubernetes 允许你指定每个容器所需 CPU 和内存（RAM）。当容器指定了资源请求时，Kubernetes 可以做出更好的决策来管理容器的资源。</p></li>
            <li><p><strong>自我修复</strong></p>
                <p>Kubernetes 重新启动失败的容器、替换容器、杀死不响应用户定义的 运行状况检查的容器，并且在准备好服务之前不将其通告给客户端。</p></li>
            <li><p><strong>密钥与配置管理</strong></p>
                <p>Kubernetes 允许你存储和管理敏感信息，例如密码、OAuth 令牌和 ssh 密钥。你可以在不重建容器镜像的情况下部署和更新密钥和应用程序配置，也无需在堆栈配置中暴露密钥。</p></li>
        </ul>
        <figure><img src="https://img-blog.csdnimg.cn/img_convert/141d4c088568bce480b526f5ac2d361d.png" alt="img" title="img"></figure>
        <figure><img src="" alt="" title=""><figcaption></figcaption></figure>
        <p style="align-content: center">更多精彩内容，欢迎关注微信公众号：<strong>囧么肥事</strong> (或搜索：jiongmefeishi)</p>
        <figure><img src="https://img-blog.csdnimg.cn/img_convert/cb3a296f8edbcc70370d4eb569c40634.png" alt="" title=""><figcaption></figcaption></figure></div></div>
    <!--content E-->
</div>



</body>
<!--left bar tools js S-->
<script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script>
<script type="text/javascript" src="../../static/js/nav.js"></script>
<!--left bar tools js E-->

<!-- 滚动条 S -->
<script type="text/javascript" src="../../static/js/optiscroll.js"></script>
<!-- 滚动条 E -->

<!--commonjs S-->
<script type="text/javascript" src="../../static/js/common.js"></script>
<!--commonjs E-->

</html>
